# -*- coding: utf-8 -*-

from django.db import models
from wal.familias.models import Familia
from wal.subfamilias.models import Subfamilia

# Create your models here.
MEDIDAS_CHOICES = (
        ('Un', 'Unidad'),
        ('Kg', 'Kilogramos'),
        ('Lt', 'Litros'),
        ('m', 'Metros'),
    )
class Articulo(models.Model):
    nombre = models.CharField(unique=True,max_length=50,verbose_name="* Nombre",help_text='Nombre del Artículo')
    unidad = models.CharField(blank = True,null = True,max_length=2,choices=MEDIDAS_CHOICES,verbose_name="Unidad de Medida",help_text='Unidad de Medida')
    minimo = models.IntegerField(blank = True,null = True,verbose_name="  Cantidad mínima",help_text='Cantidad mínima')
    familia = models.ForeignKey(Familia,verbose_name="* Familia",help_text='Familia a la que pertenece el Artículo')
    subfamilia = models.ForeignKey(Subfamilia,blank = True,null = True,verbose_name="  Subfamilia",help_text='Subfamilia a la que pertenece el articulo')
    peso = models.FloatField(blank = True,null = True,verbose_name="  Peso",help_text='Peso del Artículo en Kilogramos')
    descripcion = models.CharField(max_length=500,blank = True,null = True,verbose_name="  Descripción",help_text='Descripción del Artículo')
    
    def __unicode__(self):
		return self.nombre
	
    class Admin:
		pass

class AEntrada(models.Model):
	fecha = models.DateField(verbose_name="* Fecha",help_text='Fecha en la que se realizó la entrada del Artículo')
	articulo = models.ForeignKey(Articulo,verbose_name="* Artículo",help_text='Nombre del Artículo')
	cantidad = models.IntegerField(verbose_name="* Cantidad",help_text='Número de artículos ingresados')
	documento = models.CharField(max_length=20,verbose_name="* Documento",help_text='Documento')
	entregado = models.CharField(max_length=50,verbose_name="* Entregado por",help_text='Nombre y Apellido de el que entregó el Artículo')
	recibido = models.CharField(max_length=50,verbose_name="* Recibido por",help_text='Nombre y Apellido de el que recibió el Artículo')
	observacion = models.CharField(max_length=500,blank = True,null = True,verbose_name="  Observación",help_text='Observación')
	
	class Admin:
		pass
	
class ASalida(models.Model):
	fecha = models.DateField(verbose_name="* Fecha",help_text='Fecha en la que se realizó la salida del Artículo')
	articulo = models.ForeignKey(Articulo,verbose_name="* Artículo",help_text='Nombre del Artículo')
	cantidad = models.IntegerField(verbose_name="* Cantidad",help_text='Número de artículos expedidos')
	retirado = models.CharField(max_length=50,verbose_name="* Retirado por",help_text='Nombre y Apellido de el que retiró el Artículo')
	entregado = models.CharField(max_length=50,verbose_name="* Entregado por",help_text='Nombre y Apellido de el que entregó el Artículo')
	observacion = models.CharField(max_length=500,blank = True,null = True,verbose_name="  Observación",help_text='Observación')
	
	class Admin:
		pass
	
class AStock(models.Model):
    articulo = models.ForeignKey(Articulo,verbose_name="* Artículo",help_text='Nombre del Artículo')
    stock = models.IntegerField(verbose_name="* Cantidad",help_text='Número de artículos en depósito')
    
    class Admin:
        pass

class Ensamblado(models.Model):
    nombre = models.CharField(unique=True,max_length=50,verbose_name="* Nombre",help_text='Nombre del Ensamblado')
#    familia = models.ForeignKey(Familia,verbose_name="* Familia",help_text='Familia a la que pertenece el Artículo')
#    subfamilia = models.ForeignKey(Subfamilia,blank = True,null = True,verbose_name="  Subfamilia",help_text='Subfamilia a la que pertenece el articulo')
#    peso = models.FloatField(blank = True,null = True,verbose_name="  Peso",help_text='Peso del Artículo en Kilogramos')
    descripcion = models.CharField(max_length=500,blank = True,null = True,verbose_name="  Descripción",help_text='Descripción del Ensamblado')

    def __unicode__(self):
        return self.nombre
    
    class Admin:
        pass
    
class Partes(models.Model):
    ensamblado = models.ForeignKey(Ensamblado,verbose_name="* Ensamblado",help_text='Ensamblado')
    articulo = models.ForeignKey(Articulo,verbose_name="*  Artículo",help_text='Artículo')
    cantidad = models.FloatField(blank = True,null = True,verbose_name="*  Cantidad",help_text='Cantidad del Artículo')

    class Admin:
        pass